;(() => {
  interface Girl {
    name: string
    age: number
    bust: number
    waistLine?: number
    [propname: string]: any
    say(): string
  }
  const girl = {
    name: '胭脂',
    age: 19,
    bust: 100,
    waistLine: 111,
    sex: '女',
    aaaL: '1',
    say() {
      return '欢迎光临'
    },
    teach() {
      return '哈哈'
    },
  }

  class Person implements Girl {
    name: string = ''
    age: number = 1
    bust: number = 2
    // constructor(name: string, age: number, bust: number) {
    //   this.name = name
    //   this.age = age
    //   this.bust = bust
    // }
    say() {
      return ''
    }
  }

  interface Teacher extends Girl {
    teach(): string
  }

  type Gril1 = string

  const ScreenResume = (girl: Girl) => {
    girl.age < 24 && girl.bust >= 90 && console.log(girl.name + '进入面试')
    girl.age >= 24 || (girl.bust < 90 && console.log(girl.name + '你被淘汰了'))
  }

  const getResume = (girl: Teacher) => {
    console.log(girl.name + '年龄是' + girl.age)
    console.log(girl.name + '胸围是' + girl.bust)
    girl.waistLine && console.log(girl.name + '腰围值' + girl.waistLine)
    girl.aaaL && console.log(girl.name + 'aaaa' + girl.aaaL)
  }

  ScreenResume(girl)
  getResume(girl)
})()
